I took this course in Spring 2023. This course was a great introduction to the fundamental concepts in understanding how computer communication networks work. Jim Kurose and Nikko taught this course, and they are very knowledgeable. Jim wrote the book Computer Networking: A Top-Down Approach, what a great textbook that I read every single page of it. It was also his last semester teaching at UMass offically before he was retired. Two of the most interesting projects I did in this course were setting up TCP and UDP client and server, and another one was about reliable data transfer protocol. I learned about how to set up a network, how to use Wireshark to capture packets, and how to use socket programming to send and receive data. Amazing course! Final was optional! The course wasn't overly diffculty, but definitely needed to put in the effort to understand the concepts. You can check out the socket programming project from here: Socket Programming.
try:
clientSocket.connect((serverIP, serverPort))
except ConnectionRefusedError:
clientSocket.close()
print(f"Connection Failure on {datetime.now()}")
exit()
clientSocket.send(message.encode())
newMessage = clientSocket.recv(4096)